﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Data;
using DataAccess;
using Utility;

namespace Web.giamthi
{
    public partial class UCPhongHoc : System.Web.UI.UserControl
    {
        PhongHocControl phCtr = new PhongHocControl();
        PhongHoc ph = new PhongHoc();

        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                GridView1.AllowPaging = true;
                GridView1.PageSize = 15;
                LoadPhongHoc();
            }
        }

        // hiển thị danh sách phòng học
        private void LoadPhongHoc()
        {
            GridView1.DataSource = phCtr.GetListPhongHoc();
            GridView1.DataBind();
        }

        // insert và update phòng học
        protected void btnLuu_Click(object sender, EventArgs e)
        {
            if (CheckValidate.CheckNull(txtTenPhong.Text))
            {
                lblError.Text = "Nhập tên phòng !";
            }
            else if(CheckValidate.CheckNull(txtTongSoGhe.Text))
            {
                lblError.Text = "Nhập tổng số ghế !";
            }
            else if (CheckValidate.CheckIntNumber(txtTongSoGhe.Text) == false)
            {
                lblError.Text = "Tổng số ghế phải nhâp số !";
            }
            else
            {
                ph.TenPH = txtTenPhong.Text;
                ph.TongSoGhe = Int32.Parse(txtTongSoGhe.Text);
                if(rdChua.Checked == true)
                {
                    ph.TrangThai = "Chưa sử dụng";
                }
                else
                {
                    ph.TrangThai = "Đang sử dụng";
                }
                if (lblId.Text.Length == 0)
                {
                    ph.MaPH = phCtr.GenerateMaPH();
                    phCtr.InsertPhongHoc(ph);
                }
                else
                {
                    ph.MaPH = lblId.Text;
                    phCtr.UpdatePhongHoc(ph);
                }
                WebHelper.ShowMessage("Cập nhật thành công !",Page);
                LoadPhongHoc();
                clear();
            }
        }

        protected void btnHuy_Click(object sender, EventArgs e)
        {
            clear();
        }

        private void clear()
        {
            lblId.Text = phCtr.GenerateMaPH(); ;
            lblError.Text = "";
            lblId.Text = "";
            txtTenPhong.Text = "";
            txtTongSoGhe.Text = "";
        }

        // chọn 1 dòng trong gridview để update

        protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
        {
            string id = WebHelper.GetIdGridView(GridView1 , 0 , e).ToString();
            ph = phCtr.GetPhongHocById(id);
            lblId.Text = ph.MaPH.ToString();
            txtTenPhong.Text = ph.TenPH;
            txtTongSoGhe.Text = ph.TongSoGhe.ToString();
        }

        // xóa
        protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            int id = Int32.Parse(WebHelper.GetDataKey(GridView1 , e).ToString());
            if (phCtr.CheckDeletePhongHoc(id) > 0)
            {
                lblError.Text = "Phòng học này đang sử dụng , không được xóa";
            }
            else
            {
            }
        }

        // phân trang
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            WebHelper.pageIndexChanging(GridView1 , e);
            LoadPhongHoc();
        }

        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            WebHelper.ConfirmDelete("Bạn muốn xóa dòng này ?", e);
        }
    }
}